package kiosk;

/**
 * Importeringer
 */
import java.util.ArrayList;
import java.io.Serializable;

/**
 * Klasse: Admin
 * @author  RK
 * @version 1.0
 * -------------------------
 * Sist endret: 22 Mars 2010
 */
public class Admin implements Serializable {

    private ProduktListe    produkter;
    private SalgsListe      salg;
    private int             salgID;

    public Admin()
    {
        this.produkter  = new ProduktListe();
        this.salg       = new SalgsListe();
        this.salgID     = 1000;
    }

/**
 * -----------------------------------------------------------------------
 * Produktrelaterte metoder
 * -----------------------------------------------------------------------
 */

    /**
     * nyttProdukt
     * ------------------------------------------
     * Legg til et nytt produkt
     *
     * @param pNavn
     * @param strk
     * @param iPris
     * @param dPris
     * @param cPris
     * @param aTotalt
     */
    public void nyttProdukt(String pNavn, String strk, double iPris, double dPris, double cPris, int aTotalt)
    {
        this.produkter.addProdukt(pNavn, strk, iPris, dPris, cPris, aTotalt);
    }

    /**
     * endreProdukt
     * -----------------------------------------
     * Endre et produkt
     *
     * @param p
     */
    public void endreProdukt(Produkt p)
    {
        this.produkter.endreProdukt(p);
    }

    /**
     * slettProdukt
     * ----------------------------------------
     * Slett et produkt
     *
     * @param strekkode
     */
    public void slettProdukt(String strekkode)
    {
        this.produkter.slettProdukt(strekkode);
    }

    /**
     * finnProdukt
     * ---------------------------------------
     * Sjekk om et produkt eksisterer
     * @param strekkode
     * @return
     */
    public boolean finnProdukt(String strekkode)
    {
        if (this.produkter.erAllerede(strekkode))
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    /**
     * getProdukt
     * --------------------------------------
     * Hent ut ett speisifikt produkt basert på strekkode
     *
     * @param strekkode
     * @return
     */
    public Produkt getProdukt(String strekkode)
    {
        return this.produkter.getProdukt(strekkode);
    }

    /**
     * tømProduktListe
     * ---------------------------------------
     * Tømmer produktlisten
     */
    public void tømProduktListe()
    {
        this.produkter.tømArkiv();
    }

    /**
     * getProduktListe
     * -------------------------------------
     * Henter ut hele produktlista
     *
     * @return
     */
    public ProduktListe getProduktListe()
    {
        return this.produkter;
    }

/**
 * -----------------------------------------------------------------------
 * Salg relaterte metoder
 * -----------------------------------------------------------------------
 */

    /**
     * addSalg
     * ----------------------------------
     * Legg til ett nytt salg
     * 
     * @param s
     */
    public void addSalg(double sum, double tjent, String dato, ProduktListe prod)
    {
        this.salg.addSalg(this.salgID, sum, tjent, dato, prod);
        this.salgID++;
    }

    public SalgsListe getSalg()
    {
        return this.salg;
    }

    public void testMetode(String ax)
    {
        
    }
}
